/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.com.intesal.proyecto.sql;

/**
 *
 * @author JM
 */
public class SQLProyecto {

    public static final String getEstado="Select estado_p from proyecto where id_p=?";
    /**/
    public static final String ListaProyecto = "SELECT p.id_p, p.id_tp, p.codigo_s, tp.nombre_tp, tp.estado_tp, p.id_u, p.nombre_p, p.direccion_p, p.estado_p, p.fecha_inicio_p, p.fecha_finalizacion_p, p.fechahora, p.descripcion_p, p.id_c FROM proyecto p, tipo_proyecto tp WHERE p.id_tp = tp.id_tp";
    public static final String ListaTiposProyectos = "SELECT id_tp, nombre_tp FROM tipo_proyecto";
    /**/

    /**/
    public static final String insertProyecto = "INSERT INTO PROYECTO(id_c,id_tp,codigo_s,id_u,nombre_p,descripcion_p,direccion_p,estado_p,fecha_inicio_p,fecha_finalizacion_p,fechahora)values(?,?,?,?,?,?,?,?,?,?,now())";
    public static final String modificarProyecto = "UPDATE PROYECTO SET id_c=?,id_tp=?,codigo_s=?,id_u=?,nombre_p=?,descripcion_p=?,direccion_p=?,estado_p=?,fecha_inicio_p=?,fecha_finalizacion_p=? where id_p=?";
    public static final String insertDetaProyecto = "INSERT INTO DETA_PROYECTO (id_dm,id_p,cantidad_d)VALUES(?,?,?)";
    public static final String eliminarItemDetaProyecto = "DELETE FROM DETA_PROYECTO where id_d=?";
    public static final String setCambiarEstado = "UPDATE PROYECTO set estado_p=? where id_p=?";
    public static final String getMax = "SELECT max(id_p) as max FROM PROYECTO";
    public static final String getDetaProyecto_x_Proyecto = "SELECT d.id_d,d.id_p,d.cantidad_d,d.id_dm,m.nombre_m,m.id_m,p.id_p FROM DETA_PROYECTO as d,PROYECTO as p,MATERIAL_SUCURSAL as ms,MATERIAL as m where m.id_m=ms.id_m and ms.id_dm=d.id_dm and p.id_p=d.id_p and p.id_p=? order by m.nombre_m,d.cantidad_d";
    /**/

    /*PROYECTOS*/
    public static final String superFindAllProyectoPendientes = "SELECT p.id_p,p.nombre_p,p.direccion_p,p.estado_p,p.fecha_inicio_p,p.fecha_finalizacion_p,p.fechahora,p.descripcion_p,p.id_u, tp.id_tp,tp.nombre_tp,tc.id_tc,tc.nombre_tc,s.codigo_s,s.nombre_s,pa.id_p as id_pais,pa.nombre_p as nombrePais,mu.id_mu,mu.nombre_mu,d.id_d,d.nombre_d,cl.id_c,cl.empresa_c,cl.contacto_c,cl.email_c,cl.giro_c,cl.nit_c,cl.direccion_c,cl.registro_c,cl.otra_informacion_c,cl.telefono_c,cl.plazo_c,cl.limite_credito_c,cl.aplicar_retencion_c FROM PROYECTO AS p,SUCURSAL AS s,TIPO_PROYECTO AS tp,CLIENTE AS cl,TIPO_CLIENTE AS tc,MUNICIPIO AS mu,DEPARTAMENTO AS d,PAIS AS pa where pa.id_p=d.id_p and d.id_d=mu.id_d and mu.id_mu=cl.id_mu and tc.id_tc=cl.id_tc and cl.id_c=p.id_c and s.codigo_s=p.codigo_s and tp.id_tp=p.id_tp and p.estado_p='P' ";
    public static final String superFindAllProyecto_x_Estado = "SELECT p.id_p,p.nombre_p,p.direccion_p,p.estado_p,p.fecha_inicio_p,p.fecha_finalizacion_p,p.fechahora,p.descripcion_p,p.id_u, tp.id_tp,tp.nombre_tp,tc.id_tc,tc.nombre_tc,s.codigo_s,s.nombre_s,pa.id_p as id_pais,pa.nombre_p as nombrePais,mu.id_mu,mu.nombre_mu,d.id_d,d.nombre_d,cl.id_c,cl.empresa_c,cl.contacto_c,cl.email_c,cl.giro_c,cl.nit_c,cl.direccion_c,cl.registro_c,cl.otra_informacion_c,cl.telefono_c,cl.plazo_c,cl.limite_credito_c,cl.aplicar_retencion_c FROM PROYECTO AS p,SUCURSAL AS s,TIPO_PROYECTO AS tp,CLIENTE AS cl,TIPO_CLIENTE AS tc,MUNICIPIO AS mu,DEPARTAMENTO AS d,PAIS AS pa where pa.id_p=d.id_p and d.id_d=mu.id_d and mu.id_mu=cl.id_mu and tc.id_tc=cl.id_tc and cl.id_c=p.id_c and s.codigo_s=p.codigo_s and tp.id_tp=p.id_tp and p.estado_p=? ";
    public static final String superFindAllProyecto_n_Estado = "SELECT p.id_p,p.nombre_p,p.direccion_p,p.estado_p,p.fecha_inicio_p,p.fecha_finalizacion_p,p.fechahora,p.descripcion_p,p.id_u, tp.id_tp,tp.nombre_tp,tc.id_tc,tc.nombre_tc,s.codigo_s,s.nombre_s,pa.id_p as id_pais,pa.nombre_p as nombrePais,mu.id_mu,mu.nombre_mu,d.id_d,d.nombre_d,cl.id_c,cl.empresa_c,cl.contacto_c,cl.email_c,cl.giro_c,cl.nit_c,cl.direccion_c,cl.registro_c,cl.otra_informacion_c,cl.telefono_c,cl.plazo_c,cl.limite_credito_c,cl.aplicar_retencion_c FROM PROYECTO AS p,SUCURSAL AS s,TIPO_PROYECTO AS tp,CLIENTE AS cl,TIPO_CLIENTE AS tc,MUNICIPIO AS mu,DEPARTAMENTO AS d,PAIS AS pa where pa.id_p=d.id_p and d.id_d=mu.id_d and mu.id_mu=cl.id_mu and tc.id_tc=cl.id_tc and cl.id_c=p.id_c and s.codigo_s=p.codigo_s and tp.id_tp=p.id_tp and p.estado_p in(?) ";
    public static final String superFindAllProyectos = "SELECT p.id_p,p.nombre_p,p.direccion_p,p.estado_p,p.fecha_inicio_p,p.fecha_finalizacion_p,p.fechahora,p.descripcion_p,p.id_u, tp.id_tp,tp.nombre_tp,tc.id_tc,tc.nombre_tc,s.codigo_s,s.nombre_s,pa.id_p as id_pais,pa.nombre_p as nombrePais,mu.id_mu,mu.nombre_mu,d.id_d,d.nombre_d,cl.id_c,cl.empresa_c,cl.contacto_c,cl.email_c,cl.giro_c,cl.nit_c,cl.direccion_c,cl.registro_c,cl.otra_informacion_c,cl.telefono_c,cl.plazo_c,cl.limite_credito_c,cl.aplicar_retencion_c FROM PROYECTO AS p,SUCURSAL AS s,TIPO_PROYECTO AS tp,CLIENTE AS cl,TIPO_CLIENTE AS tc,MUNICIPIO AS mu,DEPARTAMENTO AS d,PAIS AS pa where pa.id_p=d.id_p and d.id_d=mu.id_d and mu.id_mu=cl.id_mu and tc.id_tc=cl.id_tc and cl.id_c=p.id_c and s.codigo_s=p.codigo_s and tp.id_tp=p.id_tp ";
    public static final String superFindAllProyectoAprobado = "SELECT p.id_p,p.nombre_p,p.direccion_p,p.estado_p,p.fecha_inicio_p,p.fecha_finalizacion_p,p.fechahora,p.descripcion_p,p.id_u, tp.id_tp,tp.nombre_tp,tc.id_tc,tc.nombre_tc,s.codigo_s,s.nombre_s,pa.id_p as id_pais,pa.nombre_p as nombrePais,mu.id_mu,mu.nombre_mu,d.id_d,d.nombre_d,cl.id_c,cl.empresa_c,cl.contacto_c,cl.email_c,cl.giro_c,cl.nit_c,cl.direccion_c,cl.registro_c,cl.otra_informacion_c,cl.telefono_c,cl.plazo_c,cl.limite_credito_c,cl.aplicar_retencion_c FROM PROYECTO AS p,SUCURSAL AS s,TIPO_PROYECTO AS tp,CLIENTE AS cl,TIPO_CLIENTE AS tc,MUNICIPIO AS mu,DEPARTAMENTO AS d,PAIS AS pa where pa.id_p=d.id_p and d.id_d=mu.id_d and mu.id_mu=cl.id_mu and tc.id_tc=cl.id_tc and cl.id_c=p.id_c and s.codigo_s=p.codigo_s and tp.id_tp=p.id_tp and p.estado_p='AP' ";
    public static final String superFindAllProyectoDenegado = "SELECT p.id_p,p.nombre_p,p.direccion_p,p.estado_p,p.fecha_inicio_p,p.fecha_finalizacion_p,p.fechahora,p.descripcion_p,p.id_u, tp.id_tp,tp.nombre_tp,tc.id_tc,tc.nombre_tc,s.codigo_s,s.nombre_s,pa.id_p as id_pais,pa.nombre_p as nombrePais,mu.id_mu,mu.nombre_mu,d.id_d,d.nombre_d,cl.id_c,cl.empresa_c,cl.contacto_c,cl.email_c,cl.giro_c,cl.nit_c,cl.direccion_c,cl.registro_c,cl.otra_informacion_c,cl.telefono_c,cl.plazo_c,cl.limite_credito_c,cl.aplicar_retencion_c FROM PROYECTO AS p,SUCURSAL AS s,TIPO_PROYECTO AS tp,CLIENTE AS cl,TIPO_CLIENTE AS tc,MUNICIPIO AS mu,DEPARTAMENTO AS d,PAIS AS pa where pa.id_p=d.id_p and d.id_d=mu.id_d and mu.id_mu=cl.id_mu and tc.id_tc=cl.id_tc and cl.id_c=p.id_c and s.codigo_s=p.codigo_s and tp.id_tp=p.id_tp and p.estado_p='D' ";
    public static final String superFindProyecto_x_Codigo = "SELECT p.id_p,p.nombre_p,p.direccion_p,p.estado_p,p.fecha_inicio_p,p.fecha_finalizacion_p,p.fechahora,p.descripcion_p,p.id_u, tp.id_tp,tp.nombre_tp,tc.id_tc,tc.nombre_tc,s.codigo_s,s.nombre_s,pa.id_p as id_pais,pa.nombre_p as nombrePais,mu.id_mu,mu.nombre_mu,d.id_d,d.nombre_d,cl.id_c,cl.empresa_c,cl.contacto_c,cl.email_c,cl.giro_c,cl.nit_c,cl.direccion_c,cl.registro_c,cl.otra_informacion_c,cl.telefono_c,cl.plazo_c,cl.limite_credito_c,cl.aplicar_retencion_c FROM PROYECTO AS p,SUCURSAL AS s,TIPO_PROYECTO AS tp,CLIENTE AS cl,TIPO_CLIENTE AS tc,MUNICIPIO AS mu,DEPARTAMENTO AS d,PAIS AS pa where pa.id_p=d.id_p and d.id_d=mu.id_d and mu.id_mu=cl.id_mu and tc.id_tc=cl.id_tc and cl.id_c=p.id_c and s.codigo_s=p.codigo_s and tp.id_tp=p.id_tp and p.id_p=? ";
    //public static final String getProyecto = "SELECT tp.nombre_tp, p.id_p, p.nombre_p, p.direccion_p, p.descripcion_p, p.estado_p, p.fecha_comienzo_p, p.fecha_fin_p, p.id_tp,p.id_c FROM proyecto As p, tipo_proyecto As tp WHERE tp.id_tp = p.id_tp and p.id_p=?";
    /**/
    /*REPORTE PARA CONSULTA MAESTRO PROYECTO*/
    /*
    SELECT 'DP' as tipo,d.id_d,s.nombre_s,p.nombre_p,cl.empresa_c,cl.registro_c,cl.nit_c,cl.giro_c,p.descripcion_p, p.direccion_p,p.fecha_inicio_p,p.fecha_finalizacion_p,
    dp.fecha_dp as fecha,dp.fechahora as fechahora,dp.observacion_dp as observacion, dp.bloque_dp as bloque,dp.numero_documento_dp as numero_documento,
    m.nombre_m,m.codigo_barra_m,d.cantidad_d, (e.nombre_e || ' ' || e.apellido_e) nombre ,tc.nombre_tc,tp.nombre_tp,pa.nombre_p as nombrePais,de.nombre_d,mu.nombre_mu
    FROM CLIENTE as cl, PROYECTO as p,DEVOLUCION_PROYECTO as dp,DETA_DEVOLUCION_PROYECTO as d,EMPLEADO as e,
    MATERIAL_SUCURSAL as ms,MATERIAL as m,TIPO_PROYECTO as tp,TIPO_CLIENTE as tc,SUCURSAL as s,PAIS as pa,DEPARTAMENTO as de,MUNICIPIO as mu
    where cl.id_c=p.id_c and tp.id_tp=p.id_tp and tc.id_tc=cl.id_tc and m.id_m=ms.id_m and ms.id_dm=d.id_dm
    and s.codigo_s=ms.codigo_s and pa.id_p=de.id_p and de.id_d=mu.id_d and mu.id_mu=cl.id_mu
    and p.id_p=dp.id_p and dp.id_dp=d.id_dp and e.id_e=dp.id_e and p.id_p=1
    --order by d.id_d,cl.id_c,dp.fecha_dp,dp.numero_documento_dp
    UNION
    SELECT 'SP' as tipo,d.id_d,s.nombre_s,p.nombre_p,cl.empresa_c,cl.registro_c,cl.nit_c,cl.giro_c,p.descripcion_p, p.direccion_p,p.fecha_inicio_p,p.fecha_finalizacion_p,
    sp.fecha_sp as fecha,sp.fechahora as fechahora,sp.observacion_sp as observacion, sp.bloque_sp as bloque,sp.numero_documento_sp as numero_documento,
    m.nombre_m,m.codigo_barra_m,d.cantidad_d, (e.nombre_e || ' ' || e.apellido_e) nombre ,tc.nombre_tc,tp.nombre_tp,pa.nombre_p as nombrePais,de.nombre_d,mu.nombre_mu
    FROM CLIENTE as cl, PROYECTO as p,SALIDA_PROYECTO as sp,DETA_SALIDA_PROYECTO as d,EMPLEADO as e,
    MATERIAL_SUCURSAL as ms,MATERIAL as m,TIPO_PROYECTO as tp,TIPO_CLIENTE as tc,SUCURSAL as s,PAIS as pa,DEPARTAMENTO as de,MUNICIPIO as mu
    where cl.id_c=p.id_c and tp.id_tp=p.id_tp and tc.id_tc=cl.id_tc and m.id_m=ms.id_m and ms.id_dm=d.id_dm
    and s.codigo_s=ms.codigo_s and pa.id_p=de.id_p and de.id_d=mu.id_d and mu.id_mu=cl.id_mu
    and p.id_p=sp.id_p and sp.id_sp=d.id_sp and e.id_e=sp.id_e and p.id_p=1
    --order by d.id_d,cl.id_c,sp.fecha_sp,sp.numero_documento_sp

    UNION
    SELECT 'UP' as tipo,d.id_d,s.nombre_s,p.nombre_p,cl.empresa_c,cl.registro_c,cl.nit_c,cl.giro_c,p.descripcion_p, p.direccion_p,p.fecha_inicio_p,p.fecha_finalizacion_p,
    up.fecha_up as fecha,up.fechahora as fechahora,up.observacion_up as observacion, up.bloque_up as bloque,up.numero_documento_up as numero_documento,
    m.nombre_m,m.codigo_barra_m,d.cantidad_d, (e.nombre_e || ' ' || e.apellido_e) nombre ,tc.nombre_tc,tp.nombre_tp,pa.nombre_p as nombrePais,de.nombre_d,mu.nombre_mu
    FROM CLIENTE as cl, PROYECTO as p,UTILIZACION_PROYECTO as up,DETA_UTILIZACION_PROYECTO as d,EMPLEADO as e,
    MATERIAL_SUCURSAL as ms,MATERIAL as m,TIPO_PROYECTO as tp,TIPO_CLIENTE as tc,SUCURSAL as s,PAIS as pa,DEPARTAMENTO as de,MUNICIPIO as mu
    where cl.id_c=p.id_c and tp.id_tp=p.id_tp and tc.id_tc=cl.id_tc and m.id_m=ms.id_m and ms.id_dm=d.id_dm
    and s.codigo_s=ms.codigo_s and pa.id_p=de.id_p and de.id_d=mu.id_d and mu.id_mu=cl.id_mu
    and p.id_p=up.id_p and up.id_up=d.id_up and e.id_e=up.id_e and p.id_p=1
    --order by d.id_d,cl.id_c,up.fecha_up,up.numero_documento_up
    order by tipo,fecha,fechahora,numero_documento
     */
}